/**************************
 * \if English
 * @Date:2018.09.10
 * @Author:
 * @Brief:
 * @Detail:
 * @Editor:
 * @Brief:
 * \else
 *
 * @创建日期：2018年9月10日
 * @作者：hualei
 * @大概功能：TCP_WRITE 指令
**************************/
#ifndef TCPWRITEINSTRUCTION_H
#define TCPWRITEINSTRUCTION_H

#include <QString>
#include "instructionEnum.h"
#include <QVector>

/**
 * @brief The TcpWriteInstruction class     从数据流中获取或写入 TCP_WRITE 指令参数
 */
class TcpWriteInstruction
{
public:
    TcpWriteInstruction();

//    /**
//     * @brief operator <<   向数据流中写入指令参数
//     * @param out           写入数据流
//     * @param myVector      指令
//     * @return
//     */
//    friend QDataStream& operator << (QDataStream& out, TcpWriteInstruction& myVector);

//    /**
//     * @brief operator >>       向数据流中读取指令参数
//     * @param in                读取数据流
//     * @param myVector          指令
//     * @return
//     */
//    friend QDataStream& operator >> (QDataStream& in, TcpWriteInstruction& myVector);

public:
    /**
     * @brief instructionType           指令类型
     */
    INSTRUCTION_TYPE instructionType;

    /**
<<<<<<< HEAD
     * @brief tcpWriteBusType           TCP_WRITE 发送总线类型(SERVER|CLIENT)
=======
     * @brief tcpWriteBusType               TCP_WRITE 发送总线类型(SERVER|CLIENT)
>>>>>>> origin/master
     */
    EM_TCP_WRITE_BUS_TYPE tcpWriteBusType;
    /**
     * @brief tcpWriteType              tcp发送数据类型(CONST / REGISTER)
     */
    EM_TCP_WRITE_TYPE tcpWriteType;

    /**
     * @brief tcpWriteConstValue        发送常量数据数值
     */
    QString tcpWriteConstValue;

    /**
     * @brief tcpWriteRegBegAddress     发送寄存器数据地址
     */
    int tcpWriteRegBegAddress;

    /**
     * @brief regLengthValue            寄存器数据长度
     */
    int regLengthValue;

    /**
     * @brief tcpWriteIPVec             接收数据客户端IP
     */
    QVector < int > tcpWriteClientIPVec;

    /**
     * @brief tcpWriteServerIPVec       接收数据服务器端IP
     */
    QVector < int > tcpWriteServerIPVec;

    /**
     * @brief tcpWritePort              端口号
     */
    int tcpWritePort;

    /**
     * @brief jmpLBValue                跳转标签号
     */
    int jmpLBValue;

    /**
     * @brief noteStr                   注释
     */
    QString noteStr;

};

#endif // TCPWRITEINSTRUCTION_H
